From 1c0f85a813b89327c01de568f16b1ffd598e0131 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 6 Feb 2011 14:43:55 +0100 Subject: [PATCH] gtk: gtk_cell_renderer_get_state(): a row can be both selected and insensitive so pull the SELECTED state flag out of the !sensitive branch. Also, don't make FOCUSED depend on SELECTED here, it's up to the widget to decide whether or not that is possible. --- gtk/gtkcellrenderer.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index 2ecdaf0414..b0f793768b 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1703,21 +1703,21 @@ gtk_cell_renderer_get_state (GtkCellRenderer *cell, if ((widget && !gtk_widget_get_sensitive (widget)) || (cell && !gtk_cell_renderer_get_sensitive (cell)) || (cell_state & GTK_CELL_RENDERER_INSENSITIVE) != 0) - state |= GTK_STATE_FLAG_INSENSITIVE; + { + state |= GTK_STATE_FLAG_INSENSITIVE; + } else { - if ((cell_state & GTK_CELL_RENDERER_SELECTED) != 0) - { - state |= GTK_STATE_FLAG_SELECTED; - - if ((widget && gtk_widget_has_focus (widget)) && - (cell_state & GTK_CELL_RENDERER_FOCUSED) != 0) - state |= GTK_STATE_FLAG_FOCUSED; - } + if ((widget && gtk_widget_has_focus (widget)) && + (cell_state & GTK_CELL_RENDERER_FOCUSED) != 0) + state |= GTK_STATE_FLAG_FOCUSED; if ((cell_state & GTK_CELL_RENDERER_PRELIT) != 0) state |= GTK_STATE_FLAG_PRELIGHT; } + if ((cell_state & GTK_CELL_RENDERER_SELECTED) != 0) + state |= GTK_STATE_FLAG_SELECTED; + return state; } -- 2.30.2